home *** CD-ROM | disk | FTP | other *** search
/ Czech Logic, Card & Gambling Games / Logické hry.iso / hry / Fish Fillets / script / cellar / code.lua next >
Text File  |  2005-07-16  |  7KB  |  172 lines

  1.  
  2. -- -----------------------------------------------------------------
  3. -- Init
  4. -- -----------------------------------------------------------------
  5. local function prog_init()
  6.     initModels()
  7.     sound_playMusic("music/rybky15.ogg")
  8.     local pokus = getRestartCount()
  9.     local roompole = createArray(1)
  10.  
  11.  
  12.     -- -------------------------------------------------------------
  13.     local function prog_init_room()
  14.         local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
  15.  
  16.         if pokus == 1 then
  17.             room.cast1 = 0
  18.         else
  19.             room.cast1 = 2
  20.         end
  21.         room.ocel1 = 0
  22.         room.osejvu = 0
  23.         room.cast2 = 0
  24.         room.restartovat = 0
  25.         room.neuvazovat = 0
  26.         room.nepoustej = 0
  27.         room.uhnimi = 0
  28.         room.mamstrach = 0
  29.         room.oknize = 0
  30.         room.delayrada = -1
  31.         room.poslrada = 0
  32.  
  33.         return function()
  34.             if roompole[0] == 1 and room.restartovat == 0 and isReady(big) and isReady(small) and no_dialog() then
  35.                 roompole[0] = 2
  36.                 addv(10, "pra-v-schvalne")
  37.                 addm(5, "pra-m-znovu")
  38.             end
  39.             if no_dialog() and isReady(small) and isReady(big) and roompole[0] == 0 then
  40.                 if room.delayrada > 0 then
  41.                     room.delayrada = room.delayrada - 1
  42.                 end
  43.                 if room.cast1 == 0 then
  44.                     room.cast1 = 1
  45.                     addm(random(20) + 10, "pra-m-pravidla")
  46.                 elseif room.cast1 == 1 and big.Y == tal.Y + 1 and small.Y > tal.Y + 1 then
  47.                     room.cast1 = 2
  48.                     addv(5, "pra-v-klesnout")
  49.                 elseif room.cast1 <= 2 and snek.X == 5 and tal.Y == 26 and big.Y == 27 then
  50.                     room.cast1 = 3
  51.                     addv(5, "pra-v-nahore")
  52.                 elseif room.ocel1 == 0 and val1.X == 11 and small.X == 8 and not small:isLeft() then
  53.                     room.ocel1 = 1
  54.                     addm(5, "pra-m-nepohnu")
  55.                 elseif room.cast1 <= 3 and big.X == 9 and sek.Y == 24 then
  56.                     room.cast1 = 4
  57.                     addm(0, "pra-m-zpatky")
  58.                 elseif room.osejvu == 0 and sek.Y == 27 and (small.X > 15 or big.X > 15) then
  59.                     room.osejvu = 1
  60.                     addv(5, "pra-v-problem")
  61.                     addm(5, "pra-m-reseni")
  62.                 elseif room.cast2 == 0 and (small.X >= 22 or big.X >= 21) and jah.X == 22 then
  63.                     room.cast2 = 1
  64.                     addv(15, "pra-v-zapeklita")
  65.                     addm(15 + random(15), "pra-m-vyrazit")
  66.                     addv(5, "pra-v-dobrynapad")
  67.                 elseif room.cast2 < 2 and sek.X == 14 and sek.Y == 27 and small.X == 15 and small.Y == 28 then
  68.                     if jah.X > 19 then
  69.                         room.cast2 = 3
  70.                         addv(0, "pra-v-vzit")
  71.                         addm(5, "pra-m-prisun")
  72.                     end
  73.                 elseif room.cast2 < 2 and sek.X == 14 and sek.Y == 27 and jah.X < 22 and (small.X >= 20 or small.Y <= 28) then
  74.                     room.cast2 = 3
  75.                     addm(10, "pra-m-chytit")
  76.                     addv(20 + random(60), "pra-v-spatne")
  77.                     room.restartovat = 1
  78.                 elseif room.restartovat == 0 and mer.X == 35 and mer.Y == 30 then
  79.                     addv(10 + random(30), "pra-v-spatne")
  80.                     room.restartovat = 1
  81.                 elseif room.osejvu == 1 and small.X >= 29 and big.X >= 29 and (small.Y < 19 or big.Y < 19) then
  82.                     addv(random(40), "pra-v-ukladani")
  83.                     room.osejvu = 2
  84.                 elseif room.neuvazovat == 0 and small.Y == 21 and small.X >= 23 and small.X <= 28 and small:isLeft() then
  85.                     room.neuvazovat = 1
  86.                     addm(2, "pra-m-uvazovat")
  87.                 elseif room.nepoustej == 0 and soup.Y <= 10 and small.Y >= 14 and small.X >= 22 then
  88.                     room.nepoustej = 1
  89.                     addm(5, "pra-m-pustis")
  90.                 elseif room.uhnimi ~= 1 and soup.Y == 9 and small.X >= 22 and small.X <= 24 and small.Y >= 11 and small.Y <= 12 then
  91.                     room.uhnimi = 1
  92.                     addv(5, "pra-v-zavazis")
  93.                 elseif room.uhnimi == 1 and soup.Y == 9 and (small.X > 26 or small.Y > 13) then
  94.                     room.uhnimi = 2
  95.                 elseif room.mamstrach == 0 and room.uhnimi > 0 and soup.Y <= 10 and small.X >= 32 and small.Y >= 13 and small.Y <= 14 then
  96.                     room.mamstrach = 1
  97.                     addm(5, "pra-m-strach")
  98.                     addv(5, "pra-v-prekvapit")
  99.                 elseif room.restartovat == 0 and small.Y >= 14 and small.X >= 23 and small.X < 34 and big.Y < soup.Y then
  100.                     addv(10 + random(30), "pra-v-spatne")
  101.                     room.restartovat = 1
  102.                 elseif room.oknize == 0 and small.Y < 10 then
  103.                     room.oknize = 1
  104.                     addm(20, "pra-m-kniha")
  105.                     addv(2, "pra-v-valec")
  106.                     addm(10, "pra-m-jakudelat")
  107.                     addv(5, "pra-v-nezapomen")
  108.                 elseif room.oknize == 1 and knih.X == 26 and knih.Y == 7 then
  109.                     room.oknize = 2
  110.                     room.delayrada = random(50) + 100
  111.                 elseif room.delayrada == 0 and knih.X == 26 then
  112.                     if big.Y <= 3 or room.poslrada == 2 then
  113.                         addv(10, "pra-v-nezapomen")
  114.                         room.poslrada = 1
  115.                         room.delayrada = random(300) + 150
  116.                     else
  117.                         addv(10, "pra-v-objet")
  118.                         if room.poslrada == 0 then
  119.                             addm(0, "pra-m-neradit")
  120.                         end
  121.                         room.poslrada = 2
  122.                         room.delayrada = random(50) + 50
  123.                     end
  124.                 elseif room.restartovat == 0 and svic.X == 3 and svic.Y >= 21 and svic.Y <= 22 and svic.dir == dir_no then
  125.                     room.restartovat = 1
  126.                     roompole[0] = 1
  127.                     addm(10, "pra-m-stava")
  128.                     addv(0, "pra-v-dopredu")
  129.                     addm(5, "pra-m-restart")
  130.                 elseif room.restartovat == 0 and val2.X == 15 and val2.Y == 11 then
  131.                     addv(10 + random(30), "pra-v-spatne")
  132.                     room.restartovat = 1
  133.                 end
  134.             end
  135.         end
  136.     end
  137.  
  138.     -- -------------------------------------------------------------
  139.     local function prog_init_soup()
  140.         return function()
  141.             if soup.dir ~= dir_no then
  142.                 room.osejvu = 2
  143.             end
  144.         end
  145.     end
  146.  
  147.     -- --------------------
  148.     local update_table = {}
  149.     local subinit
  150.     subinit = prog_init_room()
  151.     if subinit then
  152.         table.insert(update_table, subinit)
  153.     end
  154.     subinit = prog_init_soup()
  155.     if subinit then
  156.         table.insert(update_table, subinit)
  157.     end
  158.     return update_table
  159. end
  160. local update_table = prog_init()
  161.  
  162.  
  163. -- -----------------------------------------------------------------
  164. -- Update
  165. -- -----------------------------------------------------------------
  166. function prog_update()
  167.     for key, subupdate in pairs(update_table) do
  168.         subupdate()
  169.     end
  170. end
  171.  
  172.